package Dao;
import java.util.List;

import Dao.VisitanteDao;
import Dao.VisitanteDaoImp;
import Modelo.AlunoSI;
import Modelo.Funcionario;
import Modelo.Movimentacao;



public abstract class DAOFactory {
	
private static VisitanteDao visitaDAO;
	
	public static VisitanteDao getvisitaDAO() {
		if (visitaDAO == null) {
			visitaDAO = new VisitanteDaoImp();
		}
		if (visitaDAO.isConnectionClose()) {
			visitaDAO.openConnection();
		}
		return visitaDAO;

}
	
	
private static AlunoDao alunoDao;
	
	public static AlunoDao getAlunoDao() {
		if (alunoDao == null) {
			alunoDao = new AlunoDaoImp();
		}
		if (alunoDao.isConnectionClose()) {
			alunoDao.openConnection();
		}
		return alunoDao;

}
	
private static AlunoSiDao alunoSiDao;
	
	public static AlunoSiDao getAlunoSiDao() {
		if (alunoSiDao == null) {
			alunoSiDao = new AlunoSiDaoImp();
				
			}
		
		if (alunoSiDao.isConnectionClose()) {
			alunoSiDao.openConnection();
		}
		return alunoSiDao;

}
	
	
private static FuncionarioDao funcionarioDao;
	
	public static FuncionarioDao getFuncionarioDao() {
		if (funcionarioDao == null) {
			funcionarioDao = new FuncionarioDaoImp(); 
				
		}
		if (funcionarioDao.isConnectionClose()) {
			funcionarioDao.openConnection();
		}
		return funcionarioDao;

}
	
	
private static MovimentacaoDao movimentacaoDao;
	
	public static MovimentacaoDao getMovimentacaoDao() {
		if (movimentacaoDao == null) {
			movimentacaoDao = new MovimentacaoDaoImp();
				
		}
		if (movimentacaoDao.isConnectionClose()) {
			movimentacaoDao.openConnection();
		}
		return movimentacaoDao;

}
	
		
	
	
	
	
	
	
}
